package jym.tan.tmdb.bean;

import java.io.Serializable;
import java.util.List;

import com.google.gson.annotations.SerializedName;

/**
 * The Class ImageConfiguration.
 * <p>
 * 	The properties are:
 * 	<ul>
 * 		<li>base_url</li>
 * 		<li>backdrop_sizes</li>
 * 		<li>poster_sizes</li>
 * 		<li>profile_sizes</li>
 * 	</ul>
 * </p>	 
 * @author Tanmoy
 */
public class ImageConfiguration implements Serializable {

	private static final long serialVersionUID = -8146090075878934142L;

	@SerializedName("base_url")
	private String baseUrl;
	
	@SerializedName("backdrop_sizes")
	private List<String> backdropSizes;
	
	@SerializedName("poster_sizes")
	private List<String> posterSizes;
	
	@SerializedName("profile_sizes")
	private List<String> profileSizes;	

	/**
	 * Default Constructor.
	 */
	public ImageConfiguration() {
		
	}
	
	/**
	 * Gets the base url.
	 *
	 * @return 
	 * 		The base url
	 */
	public String getBaseUrl() {
		return baseUrl;
	}

	/**
	 * Sets the base url.
	 *
	 * @param baseUrl 
	 * 		The new base url
	 */
	public void setBaseUrl(String baseUrl) {
		this.baseUrl = baseUrl;
	}

	/**
	 * Gets the backdrop sizes.
	 *
	 * @return 
	 * 		The backdrop sizes
	 */
	public List<String> getBackdropSizes() {
		return backdropSizes;
	}

	/**
	 * Sets the backdrop sizes.
	 *
	 * @param backdropSizes 
	 * 		The new backdrop sizes
	 */
	public void setBackdropSizes(List<String> backdropSizes) {
		this.backdropSizes = backdropSizes;
	}

	/**
	 * Gets the poster sizes.
	 *
	 * @return 	
	 * 		The poster sizes
	 */
	public List<String> getPosterSizes() {
		return posterSizes;
	}

	/**
	 * Sets the poster sizes.
	 *
	 * @param posterSizes 
	 * 		The new poster sizes
	 */
	public void setPosterSizes(List<String> posterSizes) {
		this.posterSizes = posterSizes;
	}

	/**
	 * Gets the profile sizes.
	 *
	 * @return 
	 * 		The profile sizes
	 */
	public List<String> getProfileSizes() {
		return profileSizes;
	}

	/**
	 * Sets the profile sizes.
	 *
	 * @param profileSizes 
	 * 		The new profile sizes
	 */
	public void setProfileSizes(List<String> profileSizes) {
		this.profileSizes = profileSizes;
	}
	
	/* (non-Javadoc)
	 * @see java.lang.Object#toString()
	 */
	@Override
	public String toString() {		
		StringBuilder builder = new StringBuilder();
		builder.append("{").
			append("base_url:").append("\"").append(baseUrl).append("\"").
			append(",").
			append("backdrop_sizes:").append(backdropSizes).
			append(",").
			append("poster_sizes:").append(posterSizes).
			append(",").
			append("profile_sizes:").append(profileSizes).
			append("}");
		return builder.toString();
	}
}
